package com.learn.pass;

import java.util.HashMap;
import java.util.Map;

public class RomanToInt {
    public int romanToInt(String s) {
        int res = 0;
        // 如果左边的大于等于右边的就是增加，
        // 否者就是将这两个数值减少
        Map<Character, Integer> store = new HashMap<>();
        store.put('I', 1);
        store.put('V', 5);
        store.put('X', 10);
        store.put('L', 50);
        store.put('C', 100);
        store.put('D', 500);
        store.put('M', 1000);
        for (int i = 0; i < s.length(); i++) {
            if (
                    i + 1 >= s.length()
                            ||
                            store.get(s.charAt(i)) >= store.get(s.charAt(i + 1))
            )
            // 正序
            {
                res += store.get(s.charAt(i));
            } else
            // 逆序
            {
                res += store.get(s.charAt(i + 1)) - store.get(s.charAt(i));
                i++;
            }
        }
        return res;
    }
}
